set(LLVM_LINK_COMPONENTS
  Support
  )

add_clang_library(clangDaemon
  ClangdLSPServer.cpp
  ClangdServer.cpp
  ClangdUnit.cpp
  ClangdUnitStore.cpp
  CodeComplete.cpp
  CodeCompletionStrings.cpp
  CompileArgsCache.cpp
  Compiler.cpp
  Context.cpp
  DraftStore.cpp
  FuzzyMatch.cpp
  GlobalCompilationDatabase.cpp
  JSONExpr.cpp
  JSONRPCDispatcher.cpp
  Logger.cpp
  Protocol.cpp
  ProtocolHandlers.cpp
  SourceCode.cpp
  Threading.cpp
  Trace.cpp
  TUScheduler.cpp
  URI.cpp
  XRefs.cpp
  index/FileIndex.cpp
  index/Index.cpp
  index/MemIndex.cpp
  index/Merge.cpp
  index/SymbolCollector.cpp
  index/SymbolYAML.cpp

  LINK_LIBS
  clangAST
  clangASTMatchers
  clangBasic
  clangFormat
  clangFrontend
  clangIndex
  clangLex
  clangSema
  clangSerialization
  clangTooling
  clangToolingCore
  clangToolingRefactor
  ${LLVM_PTHREAD_LIB}
  )

if( LLVM_LIB_FUZZING_ENGINE OR LLVM_USE_SANITIZE_COVERAGE )
  add_subdirectory(fuzzer)
endif()
add_subdirectory(tool)
add_subdirectory(global-symbol-builder)
